Communication systems employing data packet communication via a data communication network, for example the Internet, are well known. For example, Voice-over-Internet-Protocol (VoIP) has been known for many years and is employed in contemporary communication products such as Skype telephonic and video-conferencing services; “Skype” is a registered trademark. When a plurality of persons are employing VoIP and associated video conferencing products, it is found desirable that voice and video information are communicated without gross delay, otherwise maintaining a conversation or video conference becomes difficult for the participating persons. However, the Internet was conceived to be a data packet communicating network, wherein data packets can potentially take a multiplicity of routes within the Internet from a sending device to a receiving device. As a result, it is often difficult when using the Internet to ensure prompt delivery of a data packet from the sending device to the receiving device, resulting in potential latency being experienced by users. Aforementioned communication issues are addressed in a known document “Real-Time Messaging Protocol (RTMP) specification, Adobe Developer Connection”, URL: http://www.adobe.com/devnet/rtmp.html.
A problem encountered with known real-time communication systems, and associated methods employing communication networks such as the Internet, is that the methods do not adequately integrate video and audio codecs into their execution. Devices including such codecs are often mutually different in respect of their processing power, which affects their rate of processing received data and also generating data for transmission. Moreover, infrastructures employed for implementing, for example, the Internet can vary considerably for various individual client devices, for example depending upon a geographical location of the individual client devices. When executing audio conferencing and/or video conferencing between a plurality of parties, audio delays of merely a couple of seconds to words at an end of a sentence can potentially render the sentence potentially unintelligible to parties participating to the conferencing.
Thus, known real-time communication systems have to take into account properties of communication infrastructures, for example communication networks, employed to convey data packets; the infrastructures can vary considerably for various individual client devices. For example, it is desirable that audio information transmitted between parties, for example their client devices, is conveyed with a delay not exceeding a few ten's of milliseconds. Such delay of a few ten's of milliseconds is usually achievable, provided that video information is not concurrently also transmitted. In comparison to audio information pertaining to a given period of time, corresponding video information pertaining to the same given period of time results in generation of data which is typically at least an order of magnitude greater in size in comparison to that of the audio information; however, a ratio of size of audio data to corresponding video data will depend upon quality criteria pertaining to the video information and the audio information, for example video pixel field resolution and video frame update rate.
From the foregoing, it will be appreciated that known systems for communicating audio and video information between a plurality of parties, for example in a video conferencing situation, via a communication network such as the Internet, are not optimal in their manner of operation, especially when parties employ mutually different devices with associated mutually different data processing characteristics.
In this disclosure, acronyms and definitions are employed as provided in Table 1.
TABLE 1Acronyms and definitionsAbbreviation or acronymDefinitionACKThis fundamental technique requires a receiver torespond with an acknowledgment message as itreceives given dataCPUCentral Processing UnitFrame Rate“Frame frequency”, namely a frequency rate at whichan imaging device produces unique consecutiveimages, referred to image “frames”; “frames” in thiscontext are not to be confused with network packets,Moreover, there are also mentioned “audio frames”which include some predetermined sequence of audiosame dataMSSMaximum Segment Size of a communication protocolMTUMaximum Transmission Unit of a communicationprotocol.NICNetwork Interface Controller, namely “network interfacecard”Packet RateA frequency at which packets of data can be deliveredvia a network; in an event that packet receiptacknowledgements are needed, such frequency isgenerally decreasedRTMPReal-Time Mess ProtocolTCPTransmission Control Protocol of Internet protocol suiteUDPUser Data Protocol of Internet protocol suiteQoSQuality of service is an ability to provide differentpriorities to different applications, users, or data flows,or to guarantee a certain level of performance to a dataflowTXData being transmittedRXData being receivedtime-criticalA data which become useless in period of time afterexistence.